Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Native Linked Errors (RN Mixed stack traces) #3201

Merged
merged 20 commits into from
Aug 11, 2023

Conversation

krystofwoldrich
Copy link
Member

@krystofwoldrich krystofwoldrich commented Jul 19, 2023

📢 Type of change

  • New feature

📜 Description

In facebook/react-native#36925 we have added native errors to the JS errors coming from native Trubo modules calls. This PR implements NativeLinkedErrors integration that is able to parse these errors so they can be sent to Sentry.

JVM:
Screenshot 2023-07-19 at 16 58 02

iOS:
Screenshot 2023-08-09 at 11 29 47

💚 How did you test it?

sample app, integration tests

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled
  • All tests passing
  • No breaking changes

🔮 Next steps

@github-actions
Copy link
Contributor

github-actions bot commented Jul 19, 2023

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 332.60 ms 345.14 ms 12.54 ms
Size 17.73 MiB 19.83 MiB 2.10 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d197b5c+dirty 338.94 ms 354.87 ms 15.93 ms
e73f4ed+dirty 332.96 ms 354.33 ms 21.37 ms
34aba08 328.10 ms 342.84 ms 14.74 ms
8900e1a+dirty 430.68 ms 456.13 ms 25.44 ms
3853f43 329.68 ms 346.32 ms 16.64 ms
0db0c72 372.12 ms 386.00 ms 13.88 ms
9a3ca65+dirty 326.93 ms 330.14 ms 3.21 ms
52a8031+dirty 311.55 ms 321.37 ms 9.82 ms
15c80ab+dirty 336.27 ms 350.58 ms 14.31 ms
70caa60+dirty 299.00 ms 321.02 ms 22.02 ms

App size

Revision Plain With Sentry Diff
d197b5c+dirty 17.73 MiB 20.04 MiB 2.31 MiB
e73f4ed+dirty 17.73 MiB 20.04 MiB 2.31 MiB
34aba08 17.73 MiB 19.80 MiB 2.07 MiB
8900e1a+dirty 17.73 MiB 19.75 MiB 2.01 MiB
3853f43 17.73 MiB 19.81 MiB 2.08 MiB
0db0c72 17.73 MiB 19.75 MiB 2.02 MiB
9a3ca65+dirty 17.73 MiB 20.04 MiB 2.31 MiB
52a8031+dirty 17.73 MiB 20.04 MiB 2.31 MiB
15c80ab+dirty 17.73 MiB 20.04 MiB 2.31 MiB
70caa60+dirty 17.73 MiB 19.75 MiB 2.01 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Jul 19, 2023

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1307.16 ms 1308.52 ms 1.36 ms
Size 2.36 MiB 2.87 MiB 516.54 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d197b5c+dirty 1217.61 ms 1242.66 ms 25.05 ms
e73f4ed+dirty 1243.27 ms 1244.52 ms 1.25 ms
e2b64fe+dirty 1232.22 ms 1255.20 ms 22.98 ms
8900e1a+dirty 1210.27 ms 1218.66 ms 8.39 ms
9a3ca65+dirty 1247.06 ms 1274.58 ms 27.52 ms
34aba08+dirty 1276.78 ms 1308.52 ms 31.74 ms
52a8031+dirty 1280.88 ms 1289.78 ms 8.90 ms
15c80ab+dirty 1223.74 ms 1228.96 ms 5.22 ms
70caa60+dirty 1218.27 ms 1230.30 ms 12.03 ms
86d6d2c+dirty 1267.55 ms 1286.21 ms 18.66 ms

App size

Revision Plain With Sentry Diff
d197b5c+dirty 2.36 MiB 2.82 MiB 462.86 KiB
e73f4ed+dirty 2.36 MiB 2.82 MiB 469.44 KiB
e2b64fe+dirty 2.36 MiB 2.85 MiB 495.80 KiB
8900e1a+dirty 2.36 MiB 2.83 MiB 479.25 KiB
9a3ca65+dirty 2.36 MiB 2.82 MiB 462.89 KiB
34aba08+dirty 2.36 MiB 2.85 MiB 495.32 KiB
52a8031+dirty 2.36 MiB 2.82 MiB 469.44 KiB
15c80ab+dirty 2.36 MiB 2.83 MiB 474.49 KiB
70caa60+dirty 2.36 MiB 2.83 MiB 479.27 KiB
86d6d2c+dirty 2.36 MiB 2.82 MiB 462.82 KiB

@github-actions
Copy link
Contributor

github-actions bot commented Jul 19, 2023

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1262.28 ms 1273.00 ms 10.72 ms
Size 2.92 MiB 3.43 MiB 520.41 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d197b5c+dirty 1234.80 ms 1249.20 ms 14.40 ms
e73f4ed+dirty 1282.90 ms 1309.30 ms 26.40 ms
e2b64fe+dirty 1285.78 ms 1297.56 ms 11.78 ms
8900e1a+dirty 1268.36 ms 1273.04 ms 4.68 ms
9a3ca65+dirty 1276.40 ms 1279.14 ms 2.74 ms
34aba08+dirty 1268.58 ms 1276.80 ms 8.22 ms
52a8031+dirty 1255.96 ms 1273.00 ms 17.04 ms
15c80ab+dirty 1248.41 ms 1251.24 ms 2.83 ms
70caa60+dirty 1279.08 ms 1281.54 ms 2.46 ms
86d6d2c+dirty 1291.62 ms 1296.80 ms 5.18 ms

App size

Revision Plain With Sentry Diff
d197b5c+dirty 2.92 MiB 3.37 MiB 464.41 KiB
e73f4ed+dirty 2.92 MiB 3.38 MiB 475.71 KiB
e2b64fe+dirty 2.92 MiB 3.41 MiB 499.97 KiB
8900e1a+dirty 2.92 MiB 3.39 MiB 485.96 KiB
9a3ca65+dirty 2.92 MiB 3.37 MiB 464.32 KiB
34aba08+dirty 2.92 MiB 3.41 MiB 499.03 KiB
52a8031+dirty 2.92 MiB 3.38 MiB 475.71 KiB
15c80ab+dirty 2.92 MiB 3.39 MiB 481.56 KiB
70caa60+dirty 2.92 MiB 3.39 MiB 486.04 KiB
86d6d2c+dirty 2.92 MiB 3.37 MiB 464.31 KiB

@github-actions
Copy link
Contributor

github-actions bot commented Jul 19, 2023

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 293.39 ms 368.46 ms 75.07 ms
Size 7.15 MiB 8.10 MiB 974.23 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d197b5c+dirty 258.75 ms 313.61 ms 54.86 ms
e73f4ed+dirty 262.98 ms 311.02 ms 48.04 ms
e2b64fe+dirty 258.82 ms 304.26 ms 45.44 ms
8900e1a+dirty 371.40 ms 377.70 ms 6.31 ms
9a3ca65+dirty 344.96 ms 358.92 ms 13.96 ms
34aba08+dirty 331.79 ms 376.69 ms 44.91 ms
52a8031+dirty 330.72 ms 358.76 ms 28.03 ms
15c80ab+dirty 276.38 ms 327.54 ms 51.17 ms
70caa60+dirty 308.83 ms 393.06 ms 84.23 ms
86d6d2c+dirty 267.21 ms 325.24 ms 58.04 ms

App size

Revision Plain With Sentry Diff
d197b5c+dirty 7.15 MiB 8.09 MiB 962.72 KiB
e73f4ed+dirty 7.15 MiB 8.09 MiB 965.94 KiB
e2b64fe+dirty 7.15 MiB 8.07 MiB 947.16 KiB
8900e1a+dirty 7.15 MiB 8.03 MiB 901.79 KiB
9a3ca65+dirty 7.15 MiB 8.09 MiB 962.83 KiB
34aba08+dirty 7.15 MiB 8.07 MiB 946.13 KiB
52a8031+dirty 7.15 MiB 8.09 MiB 965.95 KiB
15c80ab+dirty 7.15 MiB 8.09 MiB 966.13 KiB
70caa60+dirty 7.15 MiB 8.03 MiB 901.79 KiB
86d6d2c+dirty 7.15 MiB 8.09 MiB 962.69 KiB

@krystofwoldrich krystofwoldrich self-assigned this Aug 2, 2023
@krystofwoldrich krystofwoldrich marked this pull request as ready for review August 9, 2023 09:28
@krystofwoldrich krystofwoldrich changed the title Add Native Linked Errors Add Native Linked Errors (RN Mixed stack traces) Aug 9, 2023
CHANGELOG.md Outdated Show resolved Hide resolved
@@ -106,6 +108,7 @@ export function init(passedOptions: ReactNativeOptions): void {
),
]);

defaultIntegrations.push(new NativeLinkedErrors());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's about #2118
Does this PR help with that?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for mentioning this error, sadly no, in debug only the top-level js error would be symbolicated.

@krystofwoldrich krystofwoldrich merged commit e64a66f into main Aug 11, 2023
38 of 45 checks passed
@krystofwoldrich krystofwoldrich deleted the kw-parse-native-cause branch August 11, 2023 06:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants